1. Field of the Invention
The present invention relates to an apparatus and a method capable of improving a data transmission efficiency of transmission control protocol (TCP), and more particularly to a communication system and a method capable of improving a data transmission efficiency of TCP in the environments of an asymmetric network such as Asymmetric Digital Subscriber Line (ADSL) and the like.
2. Description of the Related Art
The ADSL is a technology for transmitting digital information in a high bandwidth connection through telephone lines installed at homes and businesses. The ADSL has an asymmetrical structure that uses most of the channel for downstream transmissions to send information to users in the downstream direction and allocates a small part of the channel for receiving information from the users in the upstream direction. The ADSL provides a 9 Mbps downstream rate and a 800 Kbps upstream rate as maximum rates through existing telephone lines.
In the meantime, the TCP is, as an end-to-end transmission protocol operating together with the Internet protocol (IP), a protocol widely used in applications such as web-based Hyper Text Transfer Protocol (HTTP), Simple Mail Transfer Protocol (SMTP) for emails, File Transfer Protocol (FTP), Telnet, and so on.
FIG. 1 is a view for illustrating TCP data transmissions and receptions at a transmitter and a receiver of a conventional communication system. In FIG. 1, the TCP uses a method of transmitting Acknowledgement (ACK) packets to the transmitter to confirm that the receiver has received the data in order to increase reliability of the data transmissions and receptions. An ACK packet includes window information for data flow controls. Here, the window refers to a size of a buffer available at a certain time, and the receiver transmits to the transmitter information on the buffer size, which is called “window advertisement”. The transmitter varies a window size based on the window advertisement when transmitting subsequent data. If an ACK packet is not received in a certain period of time from the receiver with respect to data transmitted by the transmitter, the transmitter decides that the transmitted data has been lost due to network congestion, and retransmits the same data.
However, in the asymmetric bandwidth environments as in the ADSL, it takes much delay time for an ACK packet to get to the transmitter due to a narrow bandwidth of a path for the ACK packet to go through, and such environments can cause ACK packet losses due to uplink congestion or reduce a TCP transmission rate due to the stack of ACK packets.
The Performance Implications of Link Characteristics (PILC) working group of the Internet Engineering Task Force (IETE) has proposed the ACK Congestion Control (ACC) scheme and the ACK Filtering (AF) scheme as typical congestion control schemes in the asymmetric bandwidth environments.
FIG. 2 is a block diagram for schematically illustrating a conventional ACC-based communication system. In FIG. 2, the ACC-based communication system includes a transmitter 21 for transmitting data, a Digital Subscriber Line Access Multiplexer (DSLAM) 23, and at least one receiver 25a, 25b, and 25c for receiving data from the transmitter 21.
The transmitter 21 uses most of the channel to transmit downstream information to the receivers 25a, 25b, and 25c through the ADSL, and allocates a small part of the channel to receive information from the receivers 25a, 25b, and 25c. That is, the transmitter 21 provides a 9 Mbps downstream rate and a 800 Kbps upstream rate at maximum through the existing phone lines.
The DSLAM 23 stands for a Digital Subscriber Line Access Multiplexer, and plays a role of receiving signals from subscribers via subscriber lines and sending the signals to a high-speed backbone network by using a multiplexing technology.
The receivers 25a, 25b, and 25c receive and transmit data with the transmitter 21 through the DSLAM 23. In this case, the receivers 25a, 25b, and 25c receive data from the transmitter 21 at a maximum 9 Mbps downstream rate, and transmit data at a maximum 800 Kbps upstream rate to the transmitter 21.
The ACC scheme is a method instructing the receivers 25a, 25b, and 25c to hold ACK packets in consideration of a buffer size of the downlink from the DSLAM 23 to the receivers 25a, 25b, and 25c. That is, if it is predicted that downlink data from the DSLAM 23 to the respective receivers 25a, 25b, and 25c is congested in volume, the transmitter 21 instructs the respective receivers 25a, 25b, and 25c to hold the transmissions of ACK packets for a certain period of time in consideration of downlink buffer sizes of the respective receivers 25a, 25b, and 25c. Accordingly, the respective receivers 25a, 25b, and 25c hold for a certain period of time the ACK packets with respect to data received from the transmitter 21 according to the holding instructions, and transmit the ACK packets to the transmitter 21.
FIG. 3 is a block diagram for schematically illustrating a conventional AF-based communication system. In FIG. 3, an AF-based communication system is provided with at least one transmitter 31a, 31b, and 31c for transmitting data, a gateway 35, and at least one receiver 37a, 37b, and 37c for receiving data from at least one transmitter 31a, 31b, and 31c. Here, the gateway 35 is connected to at least one transmitter 31a, 31b, and 31c through the Internet 33.
The transmitters 31a, 31b, and 31c can transmit data packets to a plurality of undefined objects at the same time. The transmitters 31a, 31b, and 31c each use most of the channel to transmit downstream to the receivers 37a, 37b, and 37c, and allocate a small part of the channel to receive information from the receivers 37a, 37b, and 37c. That is, the transmitters 31a, 31b, and 31c provide a maximum downstream rate of 9 Mbps and a maximum upstream rate of 800 Kbps through the existing phone lines.
The gateway 35 is a device used to connect a local area network (LAN) to different communication networks, and is a network point playing a role of an entrance to a different communication network. That is, the gateway is used in connecting two different communication networks. From a routing aspect, the Internet 33 can be referred to as a network having many gateway nodes and host nodes.
The receivers 37a, 37b, and 37c receive and transmit data from and to the transmitters 31a, 31b, or 31c through the gateway 35. In this case, the receivers 37a, 37b, and 37c receive data at a maximum downstream rate of 9 Mbps from the transmitter 31a, 31b, or 31c, and transmit data at a maximum upstream rate of 800 Kbps to the transmitter 31a, 31b, or 31c. 
The AF scheme removes ACK packets stored in a buffer (not shown) of the gateway 35 in a case that the network is congested with data traffic, fills the buffer with recent ACK packets received from the receivers 37a, 37b, and 37c, and transmits the new ACK packets to the transmitters 31a, 31b, and 31c. 
However, the conventional ACC-based communication system takes only the downlink into consideration, but does not take the queue length in a buffer into consideration in case of the uplink from the receivers 25a, 25b, and 25c to the DSLAM 23. Accordingly, in a case that uplink data from the receivers 25a, 25b, and 25c is piled up, the ACK packets transmitted from the receivers 25a, 25b, and 25c may not be transmitted to the transmitter 21, and the transmitter 21 acknowledges that transmitted data has been lost on the way of transmission, and retransmits data, to thereby deteriorate a TCP transmission rate by that much.
Further, the conventional AF-based communication system removes ACK packets stored in a buffer in a case of congested data traffic, and transmits new ACK packets only, which may result in burst data traffic transmissions.